解题思路:
本题是按字符串的长短进行排序。
第一处:外循环每循环一次,k应保存当前的i值,所以应填:i。
第二处:使用内循环对i+1后面的字符串长度进行比较,所以应填:ps[j]。
第三处:交换内容,所以应填:tp。
***************************************************
已知一个数列从第0项开始的前三项分别为0,0,1,以后的各项都是其相邻的前三项之和。给定程序MODI1.C中函数fun的功能是:计算并输出该数列前n项的平方根之和。n的值通过形参传入。
例如,当n=10时,程序的输出结果应为:23.197745。
请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#include
fun(int n)
{ double sum, s0, s1, s2, s; int k;
sum = 1.0;
if (n <= 2) sum = 0.0;
s0 = 0.0; s1 = 0.0; s2 = 1.0;
for (k = 4; k <= n; k++)
{ s = s0 + s1 + s2;
sum += sqrt(s);
s0 = s1; s1 = s2; s2 = s;
}
return sum
}
main ( )
{ int n;
printf("Input N=");
scanf("%d", &n);
printf("%f\n", fun(n) );
}